for 迴圈

新手必學!5個實用的Python for迴圈範例

在Python程式設計中,for迴圈是最常用且強大的流程控制工具,特別適合處理已知迭代次數的重複任務。與while迴圈不同,for迴圈專為遍歷序列(如列表、元組、字典、集合或字串)而設計,讓程式碼更簡潔高效。

本文將透過5個實用範例,從基礎到進階,讓你徹底掌握for迴圈的精髓,提升Python編程能力!


範例1:遍歷清單

列表遍歷是for迴圈最基本也最常見的應用,讓我們從這裡開始:

fruits = ["蘋果", "香蕉", "橘子"]
for fruit in fruits:
    print(fruit)

重點解析:

  1. fruits 是一個包含水果名稱的清單。
  2. for fruit in fruits: 會依序將清單中的每個項目取出,存入變數 fruit
  3. 在迴圈內,print(fruit) 將印出每個水果名稱。
  4. 不需索引:不同於其他語言,Python的for迴圈直接提供元素值,簡化程式碼

範例2:自動計算平方

for迴圈常用於對資料集進行轉換或處理,以下是計算數字平方值的範例:

numbers = [1, 2, 3, 4, 5]
squares = []
for num in numbers:
    squares.append(num ** 2)
print("平方值:", squares) # 輸出: 平方值: [1, 4, 9, 16, 25]

重點解析:

  1. numbers 是一個包含數字的清單,squares 用於儲存平方結果。
  2. 每次迭代時,num 會取出清單中的數字,計算平方值並加入 squares
  3. 動態擴充:使用append()方法將結果加入新列表。
  4. 最後印出 squares,得到所有平方結果。

進階技巧:

熟悉Python後,可使用列表推導式簡化此類操作:

squares = [num ** 2 for num in numbers]

範例3:範圍控制的迴圈

當需要特定範圍的數字序列時,range()函數是理想選擇:

for i in range(1, 6): # 產生1到5的序列
    print(i)

重點解析:

  1. range(1, 6) 產生數字序列 [1, 2, 3, 4, 5],範圍包含 1,但不包含 6。
  2. for i in range(1, 6): 將序列中的每個數字依序取出,存入變數 i
  3. 在迴圈內,print(i) 將印出序列中的每個數字。

range()用法解析:

  1. 範圍設定:range(start, stop[, step]),包含起始值但不包含結束值
  2. 常見用法:
  3. range(5) - 產生0到4的序列
  4. range(1, 10, 2) - 產生1, 3, 5, 7, 9的序列(設定步長為2
  5. 記憶效率:range()不會立即生成完整列表,而是按需生成數值,適合處理大範圍

範例4:條件篩選

for迴圈與條件判斷結合,能實現資料篩選功能:

numbers = [10, 15, 20, 25, 30]
for num in numbers:
    if num % 2 == 0:
        print(f"{num} 是偶數")

重點解析:

  1. 每次從清單中取出數字存入變數 num
  2. 使用 if num % 2 == 0 判斷是否為偶數。
  3. 符合條件時,print(f"{num} 是偶數") 印出結果。

範例5:巢狀迴圈

巢狀迴圈是處理多維資料結構的常用方法:

for i in range(1, 4):
    for j in range(1, 4):
        print(f"({i}, {j})")

重點解析:

  1. 外層迴圈控制 i 的範圍,內層迴圈控制 j 的範圍。
  2. 每次外層迴圈執行時,內層迴圈會完整執行一次。
  3. print(f"({i}, {j})") 會印出所有可能的數對組合。
  4. 效能提示:巢狀迴圈可能導致計算複雜度呈指數增長,處理大量數據時需謹慎使用。

實用小技巧

  1. range() 搭配 for: 處理固定範圍的迴圈。
  2. 巢狀迴圈: 適合處理多維資料結構,如矩陣或座標系統。
  3. 條件篩選: 結合 if 判斷可精確控制輸出。

練習建議

試著修改範例中的清單內容或範圍,觀察執行結果,學會靈活運用 for 迴圈。

#Python #程式設計 #程式教學 #PythonTips